package br.net.atasacramental.atividade.dao;
import java.util.Date;

import br.net.atasacramental.atividade.model.AtividadeStatusMotivo;
import br.net.atasacramental.util.ConexaoDB;

import java.util.List;
import java.util.HashMap;
import java.util.Map;
/**
* @author alexandre.araujo
*/
public class AtividadeStatusMotivoDAO{
	private String[][] ordemP = {{"atividadeStatusMotivo", "desc"}};
    @SuppressWarnings("unchecked")
	public List<AtividadeStatusMotivo> get() {
    	return (List<AtividadeStatusMotivo>) ConexaoDB.get(AtividadeStatusMotivo.class,true,1,100,null,ordemP);
    }
	public AtividadeStatusMotivo getByAtividadeStatusMotivo(int atividadeStatusMotivo){
        return (AtividadeStatusMotivo) ConexaoDB.getById(AtividadeStatusMotivo.class,atividadeStatusMotivo);
    }

	@SuppressWarnings("unchecked")
    public List<AtividadeStatusMotivo> getByIdAtividadeStatus(int idAtividadeStatus){		
		Map<String,Object> params = new HashMap<String, Object>();
     	params.put("idAtividadeStatus", idAtividadeStatus);
    	return (List<AtividadeStatusMotivo>) ConexaoDB.get(AtividadeStatusMotivo.class,true,1,100,params,ordemP);
    }
	
	@SuppressWarnings("unchecked")
    public List<AtividadeStatusMotivo> getByMomento(Date momento){		
		Map<String,Object> params = new HashMap<String, Object>();
     	params.put("momento", momento);
    	return (List<AtividadeStatusMotivo>) ConexaoDB.get(AtividadeStatusMotivo.class,true,1,100,params,ordemP);
    }
	@SuppressWarnings("unchecked")
    public List<AtividadeStatusMotivo> getByPeriodoMomento(Date DtaI,Date DtaF){
    	DtaF.setTime(DtaF.getTime()+86399999L);
		return (List<AtividadeStatusMotivo>) ConexaoDB.getBetween(AtividadeStatusMotivo.class,true,1,100,"momento",DtaI,DtaF,ordemP);
    }
	
	@SuppressWarnings("unchecked")
    public List<AtividadeStatusMotivo> getByDescricao(String descricao){		
		Map<String,Object> params = new HashMap<String, Object>();
     	params.put("descricao", descricao);
    	return (List<AtividadeStatusMotivo>) ConexaoDB.get(AtividadeStatusMotivo.class,true,1,100,params,ordemP);
    }
	

    public boolean insert(AtividadeStatusMotivo asm){
        return ConexaoDB.insert(asm);
    }
    public boolean update(AtividadeStatusMotivo asm){
        return ConexaoDB.update(asm);
    }
    public boolean delete(AtividadeStatusMotivo asm){
        return ConexaoDB.delete(asm);
    }
}
